package rsj.api.product.entity;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import common.entity.PageInfo;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.Optional;

/**
 * 线下测试请求参数
 *
 * @author yuanqinglong
 * @since 2021/3/4 14:13
 */
@Data
public class TestQueryParam{

    /**
     * 查找机构名称
     */
    private String orgName;

    /**
     * 统计截至时间
     */
    private LocalDate statDate;


    /**
     * 分页信息
     */
    @Valid
    @NotNull(message = "分页信息不可为空",groups = Page.class)
    @JSONField(name = "_page_")
    private PageInfo pageInfo;


    /**
     *    环境（01：我司，02：供应商，03：数据测试）
     */
    private String logType;

    /**
     * 显示行数
     */
    private Integer pageSize;

    /**
     * 页码
     */
    private Integer pageNow;


    public Integer getPageSize() {
        return Optional.ofNullable(pageInfo).map(PageInfo::getPageSize).orElse(pageNow);
    }

    public Integer getPageNow() {
        return Optional.ofNullable(pageInfo).map(PageInfo::getPageOffSet).orElse(pageNow);
    }

    public interface Page{}
}
